package com.example.java.newFeature;

public class InstanceofDemo {
    public static void main(String[] args) {
        // 传统方式
        Object obj = new Object();
        if (obj instanceof String) {
            String str = (String) obj;
            System.out.println(str.toUpperCase());
        } else if (obj instanceof Integer) {
            Integer num = (Integer) obj;
            System.out.println(num * 2);
        }


        // 使用模式匹配
        if (obj instanceof String str) {
            System.out.println(str.toUpperCase());
        } else if (obj instanceof Integer num) {
            System.out.println(num * 2);
        }
    }
}

/*
在Java中，模式匹配（Pattern Matching for instanceof）是Java 14及更高版本中引入的一项特性（最终在Java 17中以更加完善的形式提供），
它简化了类型检查和对象转换的代码。通过使用模式匹配，你可以在一个instanceof表达式中直接进行类型检查和转换，从而提高了代码的可读性和简洁性。
*/